package util;

import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;

public class Util {

	
	public static int getKilometersFromString(String kilometersAsString) {
		String digitsOnly = kilometersAsString.replaceAll("\\D+","");
		if(Util.isGoodString(digitsOnly)) 
			return Integer.parseInt(digitsOnly);
		else
			return -1;
	}
	
	
	
	/**
	 * Liefert zurueck ob ein String einen Wert ungleich NULL und nicht nur Leerzeichen enthaelt
	 * @param x Der zu uberpruefende String
	 * @return TRUE falls nicht NULL und nicht nur Whitespace, sonst FALSE
	 */
	public static boolean isGoodString(String x) {
		if(x!=null && x.trim().length()>0)
			return true;
		else
			return false;
	}
	
	
	/**
	 * Formatiert einen beliebigen Integer mit Tausendertrennzeichen
	 * @param unformatedNumber
	 * @return
	 */
	public static String formatPrice(int unformatedNumber) {
		DecimalFormat formatter = (DecimalFormat) NumberFormat.getInstance(Locale.GERMAN);
		return formatter.format(unformatedNumber);
	}
	
	
	/**
	 * Liefert das aktuelle Jahr als Integer
	 * @return Das aktuelle Jahr in der Form YYYY
	 */
	public static Integer getCurrentYear() {
		Calendar calendar = Calendar.getInstance();
		int year = calendar.get(Calendar.YEAR); 
		return new Integer(year);
	}
	
	
}
